﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public abstract partial class Ymbrik : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IYmbrik {
        
        private System.Int64? @__objektID;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private System.DateTime? @__saabumiseKP;
        
        private System.DateTime? @__postitamiseKP;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming @__toiming;
        
        private string @__klientsysteemiID;
        
        public Ymbrik() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Ymbrik(System.Int64? @objektID, System.DateTime? @algusKP, System.DateTime? @loppKP, System.DateTime? @saabumiseKP, System.DateTime? @postitamiseKP, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming @toiming, string @klientsysteemiID) {
            this.@__objektID = @objektID;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__saabumiseKP = @saabumiseKP;
            this.@__postitamiseKP = @postitamiseKP;
            this.@__toiming = @toiming;
            this.@__klientsysteemiID = @klientsysteemiID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Ymbrik(IYmbrik @ymbrik) {
            this.@__objektID = @ymbrik.ObjektID;
            this.@__algusKP = @ymbrik.AlgusKP;
            this.@__loppKP = @ymbrik.LoppKP;
            this.@__saabumiseKP = @ymbrik.SaabumiseKP;
            this.@__postitamiseKP = @ymbrik.PostitamiseKP;
            this.@__toiming = @ymbrik.Toiming;
            this.@__klientsysteemiID = @ymbrik.KlientsysteemiID;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.DateTime? SaabumiseKP {
            get {
                return this.@__saabumiseKP;
            }
            set {
                this.@__saabumiseKP = value;
            }
        }
        
        public virtual System.DateTime? PostitamiseKP {
            get {
                return this.@__postitamiseKP;
            }
            set {
                this.@__postitamiseKP = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IToiming Toiming {
            get {
                return this.@__toiming;
            }
            set {
                this.@__toiming = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
    }
}
